﻿
namespace Casimeda.Framework.Dependency
{
    public interface ILayerInstaller
    {
        /// <summary>
        /// Installs all the component needed by the assembly.
        /// </summary>
        /// <param name = "container">The container.</param>
        void ServiceRegistration(IDependencyContainerRegister container);

        /// <summary>
        /// Setups the service.
        /// </summary>
        /// <param name = "container">The container.</param>
        void ServiceRegistrationComplete(IDependencyContainerResolver container);

        /// <summary>
        /// Setups the service.
        /// </summary>
        /// <param name = "container">The container.</param>
        void ApplicationStarted(IDependencyContainerResolver container);
    }
}
